<template>
	<view :class="bgTabVal==2?'fullsize noRepeat':bgTabVal==1?'repeat ysize':'noRepeat ysize'"
		:style="'overflow-x:hidden;background-color:'+bgColor+';background-image: url('+bgPic+');min-height:'+windowHeight+'px;'">
		<skeleton :show="showSkeleton" :isNodes="isNodes" ref="skeleton" loading="chiaroscuro" selector="skeleton"
			bgcolor="#FFF"></skeleton>
		<view v-if="!errorNetwork" :style="{visibility: showSkeleton ? 'hidden' : 'visible'}">
			<view class="page-index skeleton">
				<block>
					<!-- #ifdef H5 -->
					<view v-for="(item, index) in styleConfig" :key="index">
						<block v-if="item.name != 'headerSerch' && item.name != 'tabNav'">
							<component :is="item.name" :index="index" :isFixed="isFixed" :dataConfig="item"
								:tempArr="tempArr" :userInfo="userInfo" :tabTitle="navTop" :merId="mer_id"
								:navIndex="navIndex" :communityStatus="community_status" @detail="goDetail"></component>
						</block>
						<block v-if="item.name == 'headerSerch'">
							<headerSerch :is="'headerSerch'" :isFixed="isFixed" :dataConfig="item" :tempArr="tempArr"
								:userInfo="userInfo" :tabTitle="navTop" :merId="mer_id" @detail="goDetail">
							</headerSerch>
						</block>
						<block v-if="item.name == 'tabNav'">
							<tabNav :is="'tabNav'" :isFixed="isFixed" :dataConfig="item" :tempArr="tempArr"
								:merId="mer_id" :userInfo="userInfo" :tabTitle="navTop" @detail="goDetail"></tabNav>
						</block>
					</view>
					<!-- #endif -->
					<!-- #ifdef MP  || APP-PLUS-->
					<block v-for="(item, index) in styleConfig" :key="index">
						<view v-show="navIndex == 0">
							<activeParty v-if="item.name == 'activeParty'" :merId="mer_id" :dataConfig="item">
							</activeParty>
							<articleList v-if="item.name == 'articleList'" :merId="mer_id" :dataConfig="item">
							</articleList>
							<bargain v-if="item.name == 'bargain'" :merId="mer_id" :dataConfig="item"></bargain>
							<blankPage v-if="item.name == 'blankPage'" :merId="mer_id" :dataConfig="item"></blankPage>
							<combination v-if="item.name == 'combination'" :merId="mer_id" :dataConfig="item">
							</combination>
							<topic v-if="item.name == 'topic'" :merId="mer_id" :dataConfig="item"></topic>
							<coupon v-if="item.name == 'coupon'" :merId="mer_id" :dataConfig="item"></coupon>
							<customerService v-if="item.name == 'customerService'" :merId="mer_id" :dataConfig="item">
							</customerService>
							<goodList v-if="item.name == 'goodList'" :merId="mer_id" :dataConfig="item"
								@detail="goDetail"></goodList>
							<seekList v-if="item.name == 'seekList'" :dataConfig="item" :merId="mer_id"
								@detail="goarticle"></seekList>
							<guide v-if="item.name == 'guide'" :merId="mer_id" :dataConfig="item"></guide>
							<liveBroadcast v-if="item.name == 'liveBroadcast'" :merId="mer_id" :dataConfig="item">
							</liveBroadcast>
							<menus v-if="item.name == 'menus'" :merId="mer_id" :dataConfig="item"></menus>
							<news v-if="item.name == 'news'" :merId="mer_id" :dataConfig="item"></news>
							<presellList v-if="item.name == 'presellList'" :merId="mer_id" :dataConfig="item">
							</presellList>
							<promotionList v-if="item.name == 'promotionList'" :merId="mer_id" :dataConfig="item"
								:tempArr="tempArr" @detail="goDetail"></promotionList>
							<richText v-if="item.name == 'richText'" :merId="mer_id" :dataConfig="item"></richText>
							<seckill v-if="item.name == 'seckill'" :merId="mer_id" :dataConfig="item"></seckill>
							<swiperBg v-if="item.name == 'swiperBg'" :merId="mer_id" :dataConfig="item"></swiperBg>
							<pictureCube v-if="item.name == 'pictureCube'" :merId="mer_id" :dataConfig="item">
							</pictureCube>
							<swipers v-if="item.name == 'swipers'" :merId="mer_id" :dataConfig="item"></swipers>
							<titles v-if="item.name == 'titles'" :merId="mer_id" :dataConfig="item"></titles>
						</view>

						<headerSerch v-if="item.name == 'headerSerch'" :merId="mer_id" :dataConfig="item"
							:userInfo="userInfo"></headerSerch>
						<tabNav v-if="item.name == 'tabNav'" :merId="mer_id" :dataConfig="item" class="tabNav"
							:tabTitle="navTop" @bindHeight="bindHeighta" :isFixed="isFixed"></tabNav>
					</block>
					<!-- #endif -->
					<view>
						<view class="loadingicon acea-row row-center-wrapper"
							v-if="tempArr.length && styleConfig[styleConfig.length - 1].name == 'promotionList'">
							<text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
							{{ loadTitle }}
						</view>
					</view>
				</block>
			</view>
		</view>
		<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"
			:isGoIndex="false"></authorize>
	</view>
</template>
<script>
	// +----------------------------------------------------------------------
	// | CRMEB [ CRMEB赋能开发者，助力企业发展 ]
	// +----------------------------------------------------------------------
	// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
	// +----------------------------------------------------------------------
	// | Licensed CRMEB并不是自由软件，未经许可不能去掉CRMEB相关版权
	// +----------------------------------------------------------------------
	// | Author: CRMEB Team <admin@crmeb.com>
	// +----------------------------------------------------------------------
	var statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
	let app = getApp();
	import {
		getUserInfo
	} from '@/api/user.js';
	import {
		getDiy,
		getIndexData,
		getAppVersion,
		getsiteDiy
	} from '@/api/api.js';
	// #ifdef MP-WEIXIN
	import {
		getTemlIds
	} from '@/api/api.js';
	import {
		SUBSCRIBE_MESSAGE,
		TIPS_KEY
	} from '@/config/cache';
	// #endif
	import {
		getShare,
		follow
	} from '@/api/public.js';
	import {
		goShopDetail
	} from '@/libs/order.js';
	import {
		mapGetters
	} from 'vuex';
	import {
		getProductslist,
		getMerProductHot,
		getStoreCategory
	} from '@/api/store.js';
	import {
		initiateAssistApi
	} from '@/api/activity.js';
	import {
		spread
	} from '@/api/user.js';
	import mConfig from './component/index.js';
	import authorize from '@/components/Authorize';
	// #ifdef MP || APP-PLUS
	import activeParty from '../index/component/activeParty';
	import headerSerch from '../index/component/headerSerch';
	import coupon from '../index/component/coupon';
	import bargain from '../index/component/bargain';
	import blankPage from '../index/component/blankPage';
	import combination from '../index/component/combination';
	import customerService from '../index/component/customerService';
	import goodList from '../index/component/goodList';
	import seekList from '../index/component/seekList';
	import guide from '../index/component/guide';
	import liveBroadcast from '../index/component/liveBroadcast';
	import menus from '../index/component/menus';
	import news from '../index/component/news';
	import topic from '../index/component/topic';
	import presellList from '../index/component/presellList';
	import richText from '../index/component/richText';
	import seckill from '../index/component/seckill';
	import swiperBg from '../index/component/swiperBg';
	import pictureCube from '../index/component/pictureCube'
	import tabNav from '../index/component/tabNav';
	import titles from '../index/component/titles';
	// #endif
	import {
		silenceBindingSpread,
		configMap
	} from '@/utils';
	import history from '@/mixins/history';
	import shareScence from '@/libs/spread';
	import easyLoadimage from '@/components/easy-loadimage/easy-loadimage.vue';
	export default {
		computed: configMap({
				hide_mer_status: 0,
				community_status: 0,
				share_title: ''
			},
			mapGetters(['isLogin', 'uid'])),
		mixins: [history],
		components: {
			easyLoadimage,
			...mConfig,
			authorize,
			// #ifdef MP || APP-PLUS
			activeParty,
			headerSerch,
			bargain,
			coupon,
			blankPage,
			combination,
			customerService,
			goodList,
			seekList,
			liveBroadcast,
			menus,
			news,
			topic,
			presellList,
			richText,
			seckill,
			swiperBg,
			pictureCube,
			tabNav,
			titles
			// #endif
		},
		data() {
			return {
				styleConfig: [],
				showSkeleton: true, //骨架屏显示隐藏
				isNodes: 0, //控制什么时候开始抓取元素节点,只要数值改变就重新抓取
				errorNetwork: false,
				ad: {
					home_ad_pic: ''
				},
				userInfo: {},
				loading: false,
				isAuto: false, //没有授权的不会自动授权
				isShowAuth: false, //是否隐藏授权
				statusBarHeight: statusBarHeight,
				navTop: [],
				subscribe: false,
				itemNew: [],
				menus: [{
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}, {
					url: '',
					pic: '',
					id: '',
					name: ''
				}],
				window: false,
				iShidden: false,
				couponList: [],
				lovely: [],
				marTop: 0,
				datatime: 0,
				mer_id: '',
				loadend: false,
				loading: false,
				loadTitle: '加载更多',
				sortProduct: [],
				where: {
					pid: 0,
					page: 1,
					limit: 6
				},
				hostProduct: [],
				hotPage: 1,
				hotLimit: 30,
				hotScroll: true,
				hotLoading: false,
				hotTitle: '加载更多',
				prodeuctTop: 0,
				pinkInfo: '',
				searchH: 0,
				domOffsetTop: 50,
				// #ifdef APP-PLUS || MP
				isFixed: true,
				// #endif
				// #ifdef H5
				isFixed: false,
				// #endif
				goodScroll: true, //精品推荐开关
				params: {
					//精品推荐分页
					page: 1,
					limit: 10
				},
				tempArr: [], //精品推荐临时数组
				numConfig: 0,
				swiperCur: 0,
				brandList: [],
				d: '',
				h: '',
				m: '',
				s: '',
				sum_h: '',
				sortMarTop: 0,
				// #ifdef MP || APP-PLUS
				mpHeight: 108,
				// #endif
				// #ifndef MP || APP-PLUS
				mpHeight: 0,
				// #endif
				currSpid: '',
				mer_id: '',
				navIndex: 0,
				_options: {},
				activity_banner: true,
				activityData: [],
				sortMpTop: 0,
				isHeaderSerch: false,
				bgColor: '',
				bgPic: '',
				bgTabVal: '',
				windowHeight: 0,
			};
		},
		/**
		 * 用户点击右上角分享
		 */
		// #ifdef MP
		onShareAppMessage: function() {
			let that = this;
			wx.showShareMenu({
				withShareTicket: true,
				menus: ['shareAppMessage', 'shareTimeline']
			});
			return {
				title: that.share_title,
				path: '/pages/store/home/index?id=' + that.mer_id + '&spid=' + that.uid
			};
		},
		onShareTimeline: function() {
			let that = this;
			return {
				title: that.share_title,
				query: {
					spid: that.uid
				},
				imageUrl: ''
			};
		},
		// #endif
		onLoad(options) {
			// if (!uni.getStorageSync("QIYEID") || uni.getStorageSync("QIYEID") == 3) {
			// 	uni.redirectTo({
			// 		url: '/pages/webview/webview'
			// 		// url: `/pages/webview/webview?url=${uni.getStorageSync('GLOBAL_DATA').mpconfig.mp_gs_url}`
			// 	})
			// 	return false
			// }
			if(uni.getStorageSync('mpgsurl')){
				uni.redirectTo({
					url: `/pages/webview/webview?url=${uni.getStorageSync('mpgsurl')}`
				})
				return false
			}
			let that = this;
			this._options = options;
			this.mer_id = this._options.id
			// #ifdef APP-PLUS
			const pages = getCurrentPages();
			const page = pages[pages.length - 1];
			this.isSupport = !this.isSupport;
			// #endif
			that.$nextTick(function() {
				uni.getSystemInfo({
					success: function(res) {
						that.windowHeight = res.windowHeight;
					}
				});
			})
			this.pageLoad(options);
			setTimeout(() => {
				this.isNodes++;
			}, 100);
			// if (!this.styleConfig) {
			// 	if (uni.getStorageSync('GLOBAL_DATA').mpconfig.mp_gs_url) {
			// 		uni.redirectTo({
			// 			url: `/pages/webview/webview?url=${uni.getStorageSync('GLOBAL_DATA').mpconfig.mp_gs_url}`
			// 		})
			// 		return false
			// 	}
			// }
		},
		onShow() {

		},
		onHide() {

		},
		onReady() {

		},
		watch: {},
		onPullDownRefresh() {
			setTimeout(() => {
				uni.stopPullDownRefresh();
			}, 100);
		},
		methods: {
			pageLoad(options) {
				let that = this;
				if (options.spid) {
					that.currSpid = options.spid;
					app.globalData.spid = options.spid;
				}
				// #ifdef MP
				if (options.scene) {
					let value = that.$util.getUrlParams(decodeURIComponent(options.scene));
					if (value.id) options.id = value.id;
					//记录推广人uid
					if (value.spid) {
						that.currSpid = value.spid;
						app.globalData.spid = value.spid;
					}
				}
				// #endif
				shareScence(that.currSpid, that.isLogin);
				this.isLogin && silenceBindingSpread();
				this.getIndexConfig()
				Promise.all([
					this.diyData()
				]);
				if (this.isLogin) {
					this.getUserInfo();
				}
			},
			bindHeighta(data) {
				// #ifdef APP-PLUS
				this.sortMpTop = data.top + data.height;
				// #endif
			},
			// 对象转数组
			objToArr(data) {
				let obj = Object.keys(data).sort();
				let m = obj.map(key => data[key]);
				return m;
			},
			diyData() {
				// debugger
				let that = this;
				
				getsiteDiy({
					id: uni.getStorageSync('merId'),
					type: 2
				}).then(res => {
					if (res.data.length == 0) {
						uni.showToast({
							title: '微官网未装修',
							icon: 'none',
							duration: 2000,
							success() {
								uni.redirectTo({
									url: `/pages/webview/webview?url=${uni.getStorageSync('mpgsurl')}`
								})
							}
						})
						return false
					}
					// debugger
					setTimeout(() => {
						that.isNodes++;
					}, 0);
					that.errorNetwork = false
					this.styleConfig = res.data.value
					let data = res.data;
					if (data.is_bg_color) {
						that.bgColor = data.color_picker
					}
					if (data.is_bg_pic) {
						that.bgPic = data.bg_pic
						that.bgTabVal = data.bg_tab_val
					}
					uni.setNavigationBarTitle({
						title: res.data.title
					});
					return false
				}).catch(err => {
					uni.showToast({
						title: err,
						icon: 'none'
					});
				});
			},
			// 微信登录回调
			onLoadFun: function(e) {
				this.isShowAuth = false;
			},
			// 菜单详情
			goMenuDetail(item) {
				if (item.url == '/pages/goods_cate/goods_cate') {
					let data = this.$util.stringIntercept(item.url, 1, '\?');
					data = this.$util.stringIntercept(data, 1, '\=');
					uni.setStorageSync('storeIndex', data);
					uni.switchTab({
						url: '/pages/goods_cate/goods_cate'
					});
				} else {
					uni.navigateTo({
						url: item.url
					});
				}
			},
			goDetails(item) {
				goShopDetail(item, this.uid).then(res => {
					if (this.isLogin) {
						initiateAssistApi(item.activity_id)
							.then(res => {
								let id = res.data.product_assist_set_id;
								uni.hideLoading();
								uni.navigateTo({
									url: '/pages/activity/assist_detail/index?id=' + id
								});
							})
							.catch(err => {
								uni.showToast({
									title: err,
									icon: 'none'
								});
							});
					} else {
						this.isAuto = true;
						this.isShowAuth = true
					}
				});
			},
			/**
			 * 获取个人用户信息
			 */
			getUserInfo: function() {
				let that = this;
				getUserInfo().then(res => {
					that.userInfo = res.data;
				});
			},
			//分类产品
			get_product_list: function() {
				let that = this;
				// if (!that.loadend) return;
				if (that.loading) return;
				that.loading = true;
				that.loadTitle = '';
				getProductslist(that.where)
					.then(res => {
						let list = res.data.list;
						let productList = that.$util.SplitArray(list, that.sortProduct);
						let loadend = list.length < that.where.limit;
						that.loadend = loadend;
						that.loading = false;
						that.loadTitle = loadend ? '已全部加载' : '加载更多';
						that.$set(that, 'sortProduct', productList);
						that.$set(that.where, 'page', that.where.page + 1);
					})
					.catch(err => {
						that.loading = false;
						that.loadTitle = '加载更多';
					});
			},
			// 首页数据
			getIndexConfig: function() {
				let that = this;
				// getStoreCategory(this.mer_id).then(res => {
				getStoreCategory(uni.getStorageSync('merId')).then(res => {
					that.$set(that, 'menus', res.data.menu);
					res.data.unshift({
						cate_name: '首页'
					});
					that.$set(that, 'navTop', res.data);
					that.reloadData();
				});
			},
			reloadData() {
				setTimeout(() => {
					this.showSkeleton = false
				}, 500)
			},
			// 授权关闭
			authColse: function(e) {
				this.isShowAuth = e;
			},
			// 首发新品详情
			goDetail(item) {
				if (item.activity && item.activity.type === '2' && !this.isLogin) {
					// #ifdef H5
					uni.showModal({
						title: '提示',
						content: '您未登录，请登录！',
						success: function(res) {
							if (res.confirm) {
								uni.navigateTo({
									url: '/pages/users/login/index'
								});
							} else if (res.cancel) {}
						}
					});
					// #endif
					// #ifdef MP
					this.$set(this, 'isAuto', true);
					this.$set(this, 'isShowAuth', true);
					// #endif
					return;
				} else {
					goShopDetail(item, this.uid).then(res => {
						uni.navigateTo({
							url: `/pages/goods_details/index?id=${item.id}`
						});
					});
				}
			},
			// 文章
			goarticle(item) {
				uni.navigateTo({
					url: `/pages/news_details/index?id=${item.id}&type=2`
				})
			},

			// 分类详情
			godDetail(item) {
				uni.navigateTo({
					url: `/pages/goods_details/index?id=${item.id}`
				});
			},
			//拼团详情
			goCombinDetail(item) {
				uni.navigateTo({
					url: `/pages/activity/combination_details/index?id=${item.product_group_id}`
				});
			},
			countTime: function() {
				// 获取当前时间
				var date = new Date();
				var now = date.getTime();
				//设置截止时间
				var endDate = new Date('2020-10-22 23:23:23');
				var end = endDate.getTime();
				//时间差
				var leftTime = end - now;
				//定义变量 d,h,m,s保存倒计时的时间
				if (leftTime >= 0) {
					this.d = Math.floor(leftTime / 1000 / 60 / 60 / 24);
					this.h = Math.floor((leftTime / 1000 / 60 / 60) % 24);
					this.m = Math.floor((leftTime / 1000 / 60) % 60);
					this.s = Math.floor((leftTime / 1000) % 60);
					this.sum_h = this.d * 24 + this.h;
				}
				//递归每秒调用countTime方法，显示动态时间效果
				setTimeout(this.countTime, 1000);
			},

		},
		mounted() {

		},
		// 滚动到底部
		onReachBottom() {

		},
		// 滚动监听
		onPageScroll(e) {
			// #ifdef H5
			if (this.isHeaderSerch) {
				if (e.scrollTop > this.domOffsetTop) {
					this.isFixed = true;
				}
				if (e.scrollTop < this.domOffsetTop) {
					this.$nextTick(() => {
						this.isFixed = false;
					});
				}
			} else {
				this.isFixed = false
			}
			// #endif
			// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
			uni.$emit('scroll');
		}
	};
</script>
<style lang="scss">
	page {
		display: flex;
		flex-direction: column;
	}

	.main {
		padding: 0 20rpx;
	}

	.colum0 {
		white-space: nowrap;
		display: flex;
	}

	.ysize {
		background-size: 100%;
	}

	.fullsize {
		background-size: 100% 100%;
	}

	.repeat {
		background-repeat: repeat;
	}

	.noRepeat {
		background-repeat: no-repeat;
	}

	.area-row {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		display: block;
		width: 100%;
		text-align: center;
	}

	.page-index {
		display: flex;
		flex-direction: column;
		min-height: 100%;

		.page_content {
			/* #ifdef MP || APP-PLUS */
			padding-top: 270rpx;

			/* #endif */
			.page_bg {
				background: linear-gradient(180deg, #fff 0%, #f5f5f5 100%);
			}

			.nav {
				padding: 0 0rpx 30rpx;
				flex-wrap: wrap;
				/* #ifdef MP */
				margin-top: 0;
				/* #endif */
				/* #ifdef H5 */
				margin-top: 0;

				/* #endif */
				.item {
					display: flex;
					flex-direction: column;
					align-items: center;
					justify-content: center;
					width: 20%;
					margin-top: 30rpx;

					image {
						width: 82rpx;
						height: 82rpx;
					}
				}
			}

			.index-product-wrapper {
				.nav-bd {
					display: flex;
					align-items: center;

					.item {
						display: flex;
						flex-direction: column;
						align-items: center;
						justify-content: center;
						width: 25%;

						.txt {
							font-size: 32rpx;
							color: #282828;
						}

						.label {
							display: flex;
							align-items: center;
							justify-content: center;
							width: 124rpx;
							height: 32rpx;
							margin-top: 5rpx;
							font-size: 24rpx;
							color: #999;
						}

						&.active {
							color: $theme-color;

							.label {
								background: linear-gradient(90deg, $bg-star 0%, $bg-end 100%);
								border-radius: 16rpx;
								color: #fff;
							}
						}
					}
				}

				.list-box {
					display: flex;
					flex-wrap: wrap;
					justify-content: space-between;

					.item {
						width: 345rpx;
						margin-bottom: 20rpx;
						background-color: #fff;
						border-radius: 10px;
						overflow: hidden;

						image {
							width: 100%;
							height: 345rpx;
						}

						.text-info {
							padding: 10rpx 20rpx 15rpx;

							.title {
								color: #222222;
							}

							.old-price {
								margin-top: 8rpx;
								font-size: 26rpx;
								color: #aaaaaa;
								text-decoration: line-through;

								text {
									margin-right: 2px;
									font-size: 20rpx;
								}
							}

							.price {
								display: flex;
								align-items: flex-end;
								color: $theme-color;
								font-size: 34rpx;
								font-weight: 800;

								text {
									padding-bottom: 4rpx;
									font-size: 24rpx;
									font-weight: normal;
								}

								.txt {
									display: flex;
									align-items: center;
									justify-content: center;
									width: 28rpx;
									height: 28rpx;
									margin-left: 15rpx;
									margin-bottom: 10rpx;
									border: 1px solid $theme-color;
									border-radius: 4rpx;
									font-size: 22rpx;
									font-weight: normal;
								}
							}
						}
					}

					&.on {
						display: flex;
					}
				}
			}
		}
	}

	.productList {
		background-color: #f1f1f1;
		min-height: 70vh;

		.sort {
			width: 710rpx;
			max-height: 380rpx;
			background: rgba(255, 255, 255, 1);
			border-radius: 16rpx;
			padding: 8rpx 0rpx 30rpx;
			flex-wrap: wrap;
			margin: 25rpx auto 0 auto;

			&.no_pad {
				padding: 0;
			}

			.item {
				width: 20%;
				margin-top: 30rpx;
				text-align: center;

				.pictrues {
					width: 90rpx;
					height: 90rpx;
					background: rgba(248, 248, 248, 1);
					border-radius: 50%;
					margin: 0 auto;
				}

				image {
					width: 90rpx;
					height: 90rpx;
				}

				.text {
					color: #272727;
					font-size: 24rpx;
					margin-top: 10rpx;
					overflow: hidden;
					white-space: nowrap;
					text-overflow: ellipsis;
				}

			}
		}
	}

	.productList .list {
		padding: 0 20rpx;
	}

	.productList .list.on {
		background-color: #fff;
		border-top: 1px solid #f6f6f6;
	}

	.productList .list .item {
		width: 345rpx;
		margin-top: 20rpx;
		background-color: #fff;
		border-radius: 10rpx;

		.name {
			display: flex;
			align-items: center;

			.name_text {
				display: inline-block;
				max-width: 200rpx;
			}
		}
	}

	.productList .list .item.on {
		width: 100%;
		display: flex;
		border-bottom: 1px solid #f6f6f6;
		padding: 30rpx 0;
		margin: 0;
	}

	.productList .list .item .pictrue {
		position: relative;
		width: 100%;
		height: 345rpx;
	}

	.productList .list .item .pictrue.on {
		width: 180rpx;
		height: 180rpx;
	}

	.productList .list .item .pictrue image,
	.productList .list .item .pictrue uni-image,
	.productList .list .item .pictrue .easy-loadimage {
		width: 100%;
		height: 100%;
		border-radius: 10rpx 10rpx 0 0;
	}

	.productList .list .item .pictrue image.on {
		border-radius: 6rpx;
	}

	.productList .list .item .text {
		padding: 14rpx 17rpx 26rpx 17rpx;
		font-size: 28rpx;
		color: #212121;
	}

	.productList .list .item .text.on {
		width: 508rpx;
		padding: 0 0 0 22rpx;
	}

	.productList .list .item .text .money {
		font-size: 26rpx;
		font-weight: bold;
		margin-top: 8rpx;
	}

	.productList .list .item .text .coupon {
		background: rgba(255, 248, 247, 1);
		border: 1px solid rgba(233, 51, 35, 1);
		border-radius: 4rpx;
		font-size: 20rpx;
		margin-left: 18rpx;
		padding: 1rpx 4rpx;
	}

	.productList .list .item .text .money.on {
		margin-top: 50rpx;
	}

	.productList .list .item .text .money .num {
		font-size: 34rpx;
	}

	.productList .list .item .text .vip {
		font-size: 22rpx;
		color: #aaa;
		margin-top: 7rpx;
	}

	.productList .list .item .text .vip.on {
		margin-top: 12rpx;
	}

	.productList .list .item .text .vip .vip-money {
		font-size: 24rpx;
		color: #282828;
		font-weight: bold;
	}

	.productList .list .item .text .vip .vip-money image {
		width: 46rpx;
		height: 21rpx;
		margin-left: 4rpx;
	}

	.pictrue {
		position: relative;
	}

	// .fixed {
	// 	z-index: 100;
	// 	position: fixed;
	// 	left: 0;
	// 	top: 0;
	// 	background-color: #fff;
	// 	box-shadow: 0 10rpx 20rpx -5rpx rgba(0, 0, 0, 0.06);
	// }
	.combination-item {
		width: 328rpx;
		height: 180rpx;
		display: inline-block;
		background-size: 100%;
		position: relative;
		background-size: cover;
		border-radius: 16rpx;

		.img-box {
			width: 122rpx;
			height: 122rpx;
			position: absolute;

			image,
			.easy-loadimage,
			uni-image {
				width: 122rpx;
				height: 122rpx;
			}
		}

		.name {
			font-size: 30rpx;
			color: #333333;
			font-weight: bold;
			line-height: 32rpx;
		}

		.price {
			display: block;
			font-size: 30rpx;
			font-weight: bold;
			margin-top: 8rpx;
			color: #e93323;

			text {
				font-size: 20rpx;
			}
		}
	}
</style>